package com.wonders.hisdoctor.station.project.base.domain;

import com.wonders.his.common.utils.validator.group.PrimaryGroup;
import java.math.BigDecimal;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

import lombok.Data;
import lombok.ToString;
import lombok.experimental.Accessors;

/**
 * <p>门诊病历记录</p>
 * <p>db_table: OUTP_MR</p>
 * @author tong_aj
 * @date 2021/01/18
 */
@ApiModel("门诊病历记录")
@Accessors(chain = true)
@Data
@ToString
@TableName("OUTP_MR")
public class OutpMr implements Serializable {

    private static final long serialVersionUID = 529130200116889316L;

    /** db_field: PATIENT_ID; desc: 病人标识号 */
    @ApiModelProperty("病人标识号")
    @TableField("PATIENT_ID")
    private String patientId;

    /** `主键` db_field: VISIT_DATE; desc: 就诊时间 */
    @ApiModelProperty("就诊时间")
    @NotNull(message = "就诊时间不能为空", groups = PrimaryGroup.class)
    @TableField("VISIT_DATE")
    private Date visitDate;

    /** `主键` db_field: VISIT_NO; desc: 就诊序号 */
    @ApiModelProperty("就诊序号")
    @NotNull(message = "就诊序号不能为空", groups = PrimaryGroup.class)
    @TableField("VISIT_NO")
    private Integer visitNo;

    /** db_field: ILLNESS_DESC; desc: 主诉 */
    @ApiModelProperty("主诉")
    @TableField("ILLNESS_DESC")
    private String illnessDesc;

    /** db_field: ANAMNESIS; desc: 既往史 */
    @ApiModelProperty("既往史")
    @TableField("ANAMNESIS")
    private String anamnesis;

    /** db_field: FAMILY_ILL; desc: 家族史 */
    @ApiModelProperty("家族史")
    @TableField("FAMILY_ILL")
    private String familyIll;

    /** db_field: MARRITAL; desc: 婚姻史 */
    @ApiModelProperty("婚姻史")
    @TableField("MARRITAL")
    private String marrital;

    /** db_field: INDIVIDUAL; desc: 个人史 */
    @ApiModelProperty("个人史")
    @TableField("INDIVIDUAL")
    private String individual;

    /** db_field: MENSES; desc: 月经史 */
    @ApiModelProperty("月经史")
    @TableField("MENSES")
    private String menses;

    /** db_field: MED_HISTORY; desc: 简要病史 */
    @ApiModelProperty("简要病史")
    @TableField("MED_HISTORY")
    private String medHistory;

    /** db_field: BODY_EXAM; desc: 查体 */
    @ApiModelProperty("查体")
    @TableField("BODY_EXAM")
    private String bodyExam;

    /** db_field: DIAG_DESC; desc: 诊断 */
    @ApiModelProperty("诊断")
    @TableField("DIAG_DESC")
    private String diagDesc;

    /** db_field: ADVICE; desc: 嘱咐 */
    @ApiModelProperty("嘱咐")
    @TableField("ADVICE")
    private String advice;

    /** db_field: DOCTOR; desc: 医生：就诊医生名称 */
    @ApiModelProperty("医生：就诊医生名称")
    @TableField("DOCTOR")
    private String doctor;

    /** `主键` db_field: ORDINAL; desc: 本次病历序号：每次就诊时的可能会产生多个病历 */
    @ApiModelProperty("本次病历序号：每次就诊时的可能会产生多个病历")
    @NotNull(message = "本次病历序号：每次就诊时的可能会产生多个病历不能为空", groups = PrimaryGroup.class)
    @TableField("ORDINAL")
    private Integer ordinal;

    /** db_field: OPERATION_RECORD; desc: 手术记录：启示录门诊每次的手术情况 */
    @ApiModelProperty("手术记录：启示录门诊每次的手术情况")
    @TableField("OPERATION_RECORD")
    private String operationRecord;

    /** db_field: MEDICAL_RECORD; desc: 病程序记录：启示录在疗程内变化情况 */
    @ApiModelProperty("病程序记录：启示录在疗程内变化情况")
    @TableField("MEDICAL_RECORD")
    private String medicalRecord;

    /** db_field: DIAGNOSIS_CODE; desc: 诊断代码 */
    @ApiModelProperty("诊断代码")
    @TableField("DIAGNOSIS_CODE")
    private String diagnosisCode;

    /** db_field: WEIGHT; desc: 体重 */
    @ApiModelProperty("体重")
    @TableField("WEIGHT")
    private BigDecimal weight;

    /** db_field: ID_NO; desc: 证件号 */
    @ApiModelProperty("证件号")
    @TableField("ID_NO")
    private String idNo;

    /** db_field: AGENT; desc: 代办人 */
    @ApiModelProperty("代办人")
    @TableField("AGENT")
    private String agent;

    /** db_field: AGENT_ID_NO; desc: 代办人证件号 */
    @ApiModelProperty("代办人证件号")
    @TableField("AGENT_ID_NO")
    private String agentIdNo;

    /** db_field: ASSISTANT_TEST; desc: ASSISTANT_TEST */
    @ApiModelProperty("ASSISTANT_TEST")
    @TableField("ASSISTANT_TEST")
    private String assistantTest;

    /** db_field: TM_DIAG_CODE; desc: TM_DIAG_CODE */
    @ApiModelProperty("TM_DIAG_CODE")
    @TableField("TM_DIAG_CODE")
    private String tmDiagCode;

    /** db_field: TM_DIAG_DESC; desc: TM_DIAG_DESC */
    @ApiModelProperty("TM_DIAG_DESC")
    @TableField("TM_DIAG_DESC")
    private String tmDiagDesc;

    /** db_field: TM_TYPE_CODE; desc: TM_TYPE_CODE */
    @ApiModelProperty("TM_TYPE_CODE")
    @TableField("TM_TYPE_CODE")
    private String tmTypeCode;

    /** db_field: TM_TYPE_DESC; desc: TM_TYPE_DESC */
    @ApiModelProperty("TM_TYPE_DESC")
    @TableField("TM_TYPE_DESC")
    private String tmTypeDesc;

    /** db_field: MR_CODE; desc: MR_CODE */
    @ApiModelProperty("MR_CODE")
    @TableField("MR_CODE")
    private String mrCode;

    /** db_field: MR_CREATOR; desc: MR_CREATOR */
    @ApiModelProperty("MR_CREATOR")
    @TableField("MR_CREATOR")
    private String mrCreator;

    /** db_field: MR_CREATE_DATE; desc: MR_CREATE_DATE */
    @ApiModelProperty("MR_CREATE_DATE")
    @TableField("MR_CREATE_DATE")
    private Date mrCreateDate;

}